//package com.zpj.shouji.market.ui.widget;
//
//import android.content.Context;
//import android.support.v7.widget.LinearLayoutManager;
//import android.support.v7.widget.RecyclerView;
//import android.util.AttributeSet;
//import android.view.MotionEvent;
//import android.view.View;
//
///**
// * Created by Mao Jiqing on 2016/9/27.
// */
//public class PullToRefreshRecyclerView extends RecyclerView {
//    boolean allowDragBottom = true;
//    float downY = 0;
//    boolean needConsumeTouch = true;
//
//    public PullToRefreshRecyclerView(Context context) {
//        super(context);
//    }
//
//    public PullToRefreshRecyclerView(Context context, AttributeSet attrs) {
//        super(context, attrs);
//        // TODO Auto-generated constructor stub
//    }
//
//    @Override
//    public boolean dispatchTouchEvent(MotionEvent ev) {
//        if (ev.getAction() == MotionEvent.ACTION_DOWN) {
//            downY = ev.getRawY();
//            needConsumeTouch = true;
//            if (getMyScrollY() == 0) {
//                allowDragBottom = true;
//            } else {
//                allowDragBottom = false;
//            }
//        } else if (ev.getAction() == MotionEvent.ACTION_MOVE) {
//            if (!needConsumeTouch) {
//                getParent().requestDisallowInterceptTouchEvent(false);
//                return false;
//            } else if (allowDragBottom) {
//                if (downY - ev.getRawY() < -2) {
//                    needConsumeTouch = false;
//                    getParent().requestDisallowInterceptTouchEvent(false);
//                    return false;
//                }
//            }
//        }
//        getParent().requestDisallowInterceptTouchEvent(needConsumeTouch);
//        return super.dispatchTouchEvent(ev);
//    }
//
//    public int getMyScrollY() {
//        View c = getChildAt(0);
//        if (c == null) {
//            return 0;
//        }
//        int firstVisiblePosition = ((LinearLayoutManager) getLayoutManager()).findFirstVisibleItemPosition();
//        int top = c.getTop();
//        return -top + firstVisiblePosition * c.getHeight();
//    }
//
//}